package com.java46.front.dessert.dao;

import com.alibaba.fastjson.JSON;
import com.java46.front.base.util.HibernateUtils;
import com.java46.front.dessert.entity.DessertEntity;
import com.java46.front.dessert.entity.TestEntity;
import com.java46.front.dessertType.entity.DesserttypeEntity;
import com.java46.front.dessertType.service.DessertTypeService;
import com.opensymphony.xwork2.util.finder.Test;
import org.hibernate.Session;
import org.hibernate.query.Query;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class DessertDao {

        /**
         * 此方法用于通过商品类型查询商品信息
         */
        public List<TestEntity> query_Dessert(){
            Session session = HibernateUtils.getSession();
            //  创建一个集合，键：甜点类型   值：该类型下的所有甜点
            List<TestEntity> resultList = new ArrayList<TestEntity>();
            //  得到所有的类型
            DessertTypeService dts = new DessertTypeService();
            List<DesserttypeEntity> allDessertType = dts.getAllDessertType();

            //  根据sql创建query对象
            Query query =   HibernateUtils.getQuery("from DessertEntity de where de.dessertType=?1");
            for (DesserttypeEntity dessertType: allDessertType ) {
                //  新创建一个集合
                List<DessertEntity> lists = new ArrayList<>();
                //  根据类型查询该类型的所有甜点
                query.setParameter(1,dessertType.getTypeId());
                //  得到甜点
                lists = query.list();

                //  将甜点编号和甜点类型绑定到返回返回的集合中里
                TestEntity testEntity = new TestEntity();
                testEntity.setDessert(lists);
                testEntity.setDesserttypeEntity(dessertType);
                resultList.add(testEntity);
            }
            //  释放session
            session.close();

            return resultList;
        }


}
